[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

/La Bataille pour la terre du milieu II/Dark Shadows Mod 0.4/ini/default/ -> victorysystem.ini (source)

   1  ; VictorySystem.ini
   2  ; This file controls the behavior of the Victory System for LOTR RTS.
   3  ; Overview:
   4  ; The victory system is designed to do the following:
   5  ;    a. Detect when a player wins a large battle. Multiple battles can happen on a single map.
   6  ;    b. Give a bonus to the units belonging to the winning player that were involved in the battle 
   7  ; How the victory system does this is by dividing the map up into cells. Each cell keeps track of the number
   8  ; of 'deaths' and 'kills' for each player that happen in that cell. The system also keeps track of the total
   9  ; number of 'kills' and 'deaths' for the entire map. When a threshold for the entire map (formula explained 
  10  ; further down) is reached then the cells are scaned to see if any cells qualify for Victory Status. For each
  11  ; cell that Qualifies for Victory status all of the units within a radius of that cell are given a 'Victory' bonus.
  12  ; 
  13  ;
  14  ; There are 2 types of INI blocks
  15  ; 1.    VictorySystemData : Controls variables that deal with common aspects of the victory system.
  16  ; 2.    FactionVictoryData : Controls how a faction determines a victory, this facilitates factions being able
  17  ;        to have unique methods of determining what a 'victory' is. E.G. Evil factions may place less value
  18  ;        on losing its own units than Good factions. 
  19  ;    SEE Comments in the INI blocks for a detailed explantation of hot the values are used.
  20  ;-------------------------------------------------------------------------------------------------------------------------------
  21  
  22  
  23  VictorySystemData default
  24      CellSize            = 450        ; This value controls the resolution of the Cells in the Victory system. Each cell is a 
  25                                      ; square of this width/height. The number of cells in a map is the determined by the 
  26                                      ; extents of the map and this value. So if our cell size was 450, a map that is 3150 units 
  27                                      ; wide and 2250 units high would have ((3150 / 450) = 7 * (2250 / 450) = 5) or 35 cells.
  28                                      ; IMPORTANT: Do not make this value to small, as it could quickly eat up a lot of memory as 
  29                                      ; well as degrade performance. 
  30                                      
  31  ; The following variables control frame to frame erosion of the stats store in each cell. The frame to frame erosion is done so 
  32  ; that over time the stats fade down. This allows the system to discriminate an intense battle from a lot of small battles over a long
  33  ; period of time.
  34      ScalePerLogicFrame = 1.0        ;  Each stat stored in a cell is scaled by this amount every logic frame. It should be greater than
  35                                      ; 0 and less than or equal to 1.0. With the practical range being 0.7 - 0.999. The smaller the number
  36                                      ; the 'faster' the system 'forgets'. Values above 1.0 are treated as 1.0
  37                                      
  38      SubtractPerLogicFrame = 0.0        ; Each logic frame this value is subtracted from the stats in each cell. This value is here to 
  39                                      ; allow greater control over how the system 'Erodes' the stats in a cell. The value must be positive
  40                                      ; and should not be greater than 2 or 3. For reference a single uint is worth 1.0 stat points from
  41                                      ; the perspective of the Victory system. So if SubtractPerLogicFrame was set 1.0, 1 'death' and one
  42                                      ; 'Kill' would be 'forgotten' per logic frame. 
  43      
  44      CellBonusRadius = 1.0            ; This value controls the range from the center of a cell in which units are give a victory bonus.
  45                                      ; This actual range is a function of CellBonusRadius and CellSize, such that a value of 1.0 would
  46                                      ; be a circle that completely contains 1 cell where the edge of the circle intersects the corners of
  47                                      ; the cell. This value should not be below 1.0 to ensure that all the units that contributed to a 
  48                                      ; 'victor' are rewarded. Also making the value to large should be avoided. The formula for 
  49                                      ; the radius is; radius = (sqrt(2) * ((CellSize / 2) * CellBonusRadius).
  50                                      ; NOTE: IF WE FIND PROBLEMS WITH UNITS GETTING MORE THAN 1 VICTORY BONUS AT A TIME
  51                                      ; CHECK THIS VALUE FOR BEING TO LARGE. 
  52      
  53  End
  54  
  55  ; The following INI Blocks control how a faction decides when a 'Victory' has happened. Each faction has the following values
  56  ;    AllyDeathScaleFactor
  57  ;    EnemyKillScaleFactor
  58  ;    VictoryThreshold
  59  ;    MajorUnitValue
  60  ;    MapToCellVictoryRatio
  61  ;
  62  ; Determining a victory for a given player is done as follows.
  63  ; 
  64  ; if (NumberOfKillsOnMap * EnemyKillScaleFactor) - (NumberOfDeaths * AllyDeathScaleFactor) > VictoryThreshold
  65  ;    then if (NumberOfKillsInCell * EnemyKillScaleFactor) - (NumberOfDeaths * AllyDeathScaleFactor) > (VictoryThreshold * MapToCellVictoryRatio)
  66  ;        then give bonus to units in that cell.
  67  
  68  ; Gondor
  69  FactionVictoryData Gondor
  70      AllyDeathScaleFactor  = 1.0            ; Value this faction places on the loss of its own units. 
  71      EnemyKillScaleFactor  = 1.1            ; Value this faction places on 'kills' of enemy units that it gets.
  72      VictoryThreshold      = 100.0        ; Thereshold needed for a 'Victory' 
  73      MajorUnitValue          = 10.0        ; Value placed on special/major units (normal units are worth 1.0)
  74      MapToCellVictoryRatio = 0.8            ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be 
  75                                          ; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
  76  End
  77  
  78  ; Rohan
  79  FactionVictoryData Rohan
  80      AllyDeathScaleFactor  = 1.0            ; Value this faction places on the loss of its own units. 
  81      EnemyKillScaleFactor  = 20.1        ; Value this faction places on 'kills' of enemy units that it gets.
  82      VictoryThreshold      = 100.0        ; Thereshold needed for a 'Victory' 
  83      MajorUnitValue          = 10.0        ; Value placed on special/major units (normal units are worth 1.0)
  84      MapToCellVictoryRatio = 0.8            ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be 
  85                                          ; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
  86  End
  87  
  88  ; Mordor
  89  FactionVictoryData Mordor
  90      AllyDeathScaleFactor  = 1.0            ; Value this faction places on the loss of its own units. 
  91      EnemyKillScaleFactor  = 1.1            ; Value this faction places on 'kills' of enemy units that it gets.
  92      VictoryThreshold      = 100.0        ; Thereshold needed for a 'Victory' 
  93      MajorUnitValue          = 10.0        ; Value placed on special/major units (normal units are worth 1.0)
  94      MapToCellVictoryRatio = 0.8            ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be 
  95                                          ; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
  96  End
  97  
  98  ; Isengard
  99  FactionVictoryData Isengard
 100      AllyDeathScaleFactor  = 1.0            ; Value this faction places on the loss of its own units. 
 101      EnemyKillScaleFactor  = 1.1            ; Value this faction places on 'kills' of enemy units that it gets.
 102      VictoryThreshold      = 10.0        ; Thereshold needed for a 'Victory' 
 103      MajorUnitValue          = 10.0        ; Value placed on special/major units (normal units are worth 1.0)
 104      MapToCellVictoryRatio = 0.8            ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be 
 105                                          ; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
 106  End
 107  ; neutral - CURRENTLY HAS NO EFFECT.
 108  FactionVictoryData neutral
 109      AllyDeathScaleFactor  = 1.0            
 110      EnemyKillScaleFactor  = 1.1            
 111      VictoryThreshold      = 100.0        
 112      MajorUnitValue          = 10.0        
 113      MapToCellVictoryRatio = 0.8            
 114                                          
 115  End
 116  
 117  ; Observer - CURRENTLY HAS NO EFFECT.
 118  FactionVictoryData Observer
 119      AllyDeathScaleFactor = 0.1
 120      EnemyKillScaleFactor = 0.2
 121      VictoryThreshold     = 3.0
 122      MajorUnitValue         = 4.0
 123  End
 124  
 125  ; Civilian - CURRENTLY HAS NO EFFECT.
 126  FactionVictoryData Civilian
 127      AllyDeathScaleFactor = 0.1
 128      EnemyKillScaleFactor = 0.2
 129      VictoryThreshold     = 3.0
 130      MajorUnitValue         = 4.0
 131  End


Generated: Sat Mar 28 08:18:23 2009 Cross-referenced by PHPXref 0.7